A network data storage system typically includes storage devices and one or more network storage servers or storage appliances. A storage server may provide services related to the organization of data on storage devices, such as disks. Some of these storage servers are commonly referred to as filers or file servers. The storage server may be implemented with a special-purpose computer or a general-purpose computer. Such storage systems typically use file systems to organize and provide easy access to the files they contain.
The storage server is a processing system configured to store and retrieve data on behalf of one or more client processing systems (“clients”). In the context of Network Attached Storage (NAS), a storage server may be a filer, which operates on behalf of one or more clients to store and manage shared files in a set of mass storage devices, such as magnetic or optical disks or tapes. The mass storage devices may be organized into one or more volumes of a Redundant Array of Inexpensive Disks (RAID).
A storage server may create backup images of data in the mass storage devices. For example, the storage server may periodically create backup images for volumes in a RAID and retain these images so that historical versions of files and other data can be restored from the backup images. One example of this is a persistent point-in-time image (PPI). The duration of time between these backups may be configurable by a user. For instance, a user or administrator of the storage system may configure the storage system to create backup images daily or weekly. When thus configured, the storage system creates the backup images accordingly, without further action by the user. The storage server may conserve storage space by performing an incremental backup process, where only data that has changed since the creation of the last backup image is included in a new backup image.
The storage devices often contain temporary files, system files, file system metadata, or other data that does not need to be included in a backup image. In addition, some of these files or data may change frequently. For example, certain system files may be updated every time a particular routine process is executed. Thus, when an incremental backup image is created, such routinely changing files will likely be included in the incremental backup image, consuming unnecessary space at each backup operation.
In many cases, the unwanted data cannot simply be deleted from the backup image after the image is created, particularly if a high confidence level in the integrity of the backup images must be maintained.
Thus, the inclusion of the unwanted data and files in backup images can result in a significant consumption of storage space over the course of many backup operations, particularly if the backup operations are performed periodically.